Este
documento pretende ser una introducción a los conceptos, medios
y protocolos que proporcionan la transmisión de información
en Internet. El texto se ha estructurado en varias secciones, donde las
primeras ofrecen algunos conceptos iniciales sobre Internet, las redes
y la teleinformática en general. Las siguientes secciones se dedican
a los protocolos, junto con otros temas fundamentales en el funcionamiento
de Internet como el routing o el sistema de nombres por dominio.
También se comentan algunos de los servicios "tradicionales" de
Internet y una breve introducción a Infovía por su gran importancia
para el desarrollo de las telecomunicaciones.
Introducción.
La gran rapidez con la que Internet se ha expandido y popularizado en los últimos años ha supuesto una revolución muy importante en el mundo de las comunicaciones, llegando a causar cambios en muchos aspectos de la sociedad. Lo que se conoce hoy como Internet es en realidad un conjunto de redes independientes (de área local y área extensa) que se encuentran conectadas entre sí, permitiendo el intercambio de datos y constituyendo por lo tanto una red mundial que resulta el medio idóneo para el intercambio de información, distribución de datos de todo tipo e interacción personal con otras personas.
Internet tiene su origen en la red informática ARPAnet que comenzó a desarrollarse en los Estados Unidos como un proyecto del DARPA (Defense Advanced Research Projects Agency) sobre la década de los 60, aunque hasta el inicio de la década de los 70 no comenzaron a crearse las primeras aplicaciones. A finales de 1969 cuatro hosts fueron conectados en esta red inicial, la cual fue creciendo rápidamente durante los años siguientes, pero fue a partir de 1972 cuando se comenzó a investigar la forma de que los paquetes de información puedan moverse a través de varias redes de diferentes tipos y no necesariamente compatibles. De esta manera se consiguen enlazar redes independientes consiguiendo que puedan comunicarse de forma transparente los ordenadores de todas ellas. Este proyecto recibió el nombre de "Internetting", y para referirse al sistema de redes funcionando conjuntamente y formando una red mayor se utilizó el nombre de "Internet".
La red continuó extendiéndose
por todo el país con gran rapidez, conectando a universidades e
instituciones de investigación y educación, organizaciones
gubernamentales o no gubernamentales, y redes privadas y comerciales. De
esta manera continuó su desarrollo durante los años 80 extendiéndose
internacionalmente, pero ha sido en los 90 cuando Internet se ha convertido
en un nuevo y revolucionario medio de comunicación a escala mundial.
Los nuevos medios desarrollados para hacer el acceso a Internet mucho más
sencillo y agradable para cualquier usuario han influido notablemente en
esta expansión, convirtiendo a Internet en la gran red mundial.
Conceptos básicos.
Una red de ordenadores permite conectar a los ordenadores que la forman con la finalidad de compartir información, como documentos o bases de datos, o recursos físicos, como impresoras o unidades de disco. Las redes suelen clasificarse según su extensión en:
Lo que se conoce como Internet es en realidad una red de redes, la interconexión de otras redes independientes de manera que puedan compartir información entre ellas a lo largo de todo el planeta. Para ello es necesario el uso de un protocolo de comunicaciones común. El protocolo que proporciona la compatibilidad necesaria para la comunicación en Internet es el TCP/IP.
Los protocolos de comunicaciones definen las normas que posibilitan que se establezca una comunicación entre varios equipos o dispositivos, ya que estos equipos pueden ser diferentes entre sí. Un interfaz, sin embargo, es el encargado de la conexión física entre los equipos, definiendo las normas para las características eléctricas y mecánicas de la conexión.
Exceptuando a los routers cualquier
ordenador conectado a Internet y, por tanto, capaz de compartir información
con otro ordenador se conoce con el nombre de host (anfitrión).
Un host debe identificarse de alguna manera que lo distinga de los
demás para poder recibir o enviar datos. Para ello todos los ordenadores
conectados a Internet disponen de una dirección única y exclusiva.
Esta dirección, conocida como dirección de Internet o dirección
IP, es un número de 32 bit que generalmente se representa en cuatro
grupos de 8 bit cada uno separados por puntos y en base decimal (esto es
así en la versión número 4 del protocolo IP, pero
no en la 6). Un ejemplo de dirección IP es el siguiente: 205.198.48.1.
El modelo OSI.
El modelo OSI (Open System Interconection) es utilizado por prácticamente la totalidad de las redes del mundo. Este modelo fue creado por el ISO (Organización Internacional de Normalización), y consiste en siete niveles o capas donde cada una de ellas define las funciones que deben proporcionar los protocolos con el propósito de intercambiar información entre varios sistemas. Esta clasificación permite que cada protocolo se desarrolle con una finalidad determinada, lo cual simplifica el proceso de desarrollo e implementación. Cada nivel depende de los que están por debajo de él, y a su vez proporciona alguna funcionalidad a los niveles superiores. Los siete niveles del modelo OSI son los siguientes:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La arquitectura cliente-servidor es
una forma específica de diseño de aplicaciones, aunque también
se conoce con este nombre a los ordenadores en los que se estas aplicaciones
son ejecutadas. Por un lado, el cliente es el ordenador que se encarga
de efectuar una petición o solicitar un servicio. El cliente no
posee control sobre los recursos, sino que es el servidor el encargado
de manejarlos. Por otro lado, el ordenador remoto que actúa como
servidor evalúa la petición del cliente y decide aceptarla
o rechazarla consecuentemente. Una vez que el servidor acepta el pedido
la información requerida es suministrada al cliente que efectuó
la petición, siendo este último el responsable de proporcionar
los datos al usuario con el formato adecuado. Finalmente debemos precisar
que cliente y servidor no tienen que estar necesariamente en ordenadores
separados, sino que pueden ser programas diferentes que se ejecuten en
el mismo ordenador.
El protocolo TCP/IP.
TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware.
TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. En Internet se diferencian cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI de la siguiente manera:
Para transmitir información
a través de TCP/IP, ésta debe ser dividida en unidades de
menor tamaño. Esto proporciona grandes ventajas en el manejo de
los datos que se transfieren y, por otro lado, esto es algo común
en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades
de información recibe el nombre de "datagrama" (datagram),
y son conjuntos de datos que se envían como mensajes independientes.
TCP (Transmission Control Protocol).
El protocolo de control de transmisión (TCP) pertenece al nivel de transporte, siendo el encargado de dividir el mensaje original en datagramas de menor tamaño, y por lo tanto, mucho más manejables. Los datagramas serán dirigidos a través del protocolo IP de forma individual. El protocolo TCP se encarga además de añadir cierta información necesaria a cada uno de los datagramas. Esta información se añade al inicio de los datos que componen el datagrama en forma de cabecera.
La cabecera de un datagrama contiene al menos 160 bit que se encuentran repartidos en varios campos con diferente significado. Cuando la información se divide en datagramas para ser enviados, el orden en que éstos lleguen a su destino no tiene que ser el correcto. Cada uno de ellos puede llegar en cualquier momento y con cualquier orden, e incluso puede que algunos no lleguen a su destino o lleguen con información errónea. Para evitar todos estos problemas el TCP numera los datagramas antes de ser enviados, de manera que sea posible volver a unirlos en el orden adecuado. Esto permite también solicitar de nuevo el envío de los datagramas individuales que no hayan llegado o que contengan errores, sin que sea necesario volver a enviar el mensaje completo.
| Formato de la cabecera TCP. | ||||||||||||||||||||
|
||||||||||||||||||||
Dos campos incluidos en la cabecera y que son de especial importancia son los números de puerto de origen y puerto de destino. Los puertos proporcionan una manera de distinguir entre las distintas transferencias, ya que un mismo ordenador puede estar utilizando varios servicios o transferencias simultáneamente, e incluso puede que por medio de usuarios distintos. El puerto de origen contendrá un número cualquiera que sirva para realizar esta distinción. Además, el programa cliente que realiza la petición también se debe conocer el número de puerto en el que se encuentra el servidor adecuado. Mientras que el programa del usuario utiliza números prácticamente aleatorios, el servidor deber tener asignado un número estándar para que pueda ser utilizado por el cliente. (Por ejemplo, en el caso de la transferencia de ficheros FTP el número oficial es el 21). Cuando es el servidor el que envía los datos, los números de puertos de origen y destino se intercambian.
En la transmisión de datos a través del protocolo TCP la fiabilidad es un factor muy importante. Para poder detectar los errores y pérdida de información en los datagramas, es necesario que el cliente envíe de nuevo al servidor unas señales de confirmación una vez que se ha recibido y comprobado la información satisfactoriamente. Estas señales se incluyen en el campo apropiado de la cabecera del datagrama (Acknowledgment Number), que tiene un tamaño de 32 bit. Si el servidor no obtiene la señal de confirmación adecuada transcurrido un período de tiempo razonable, el datagrama completo se volverá a enviar. Por razones de eficiencia los datagramas se envían continuamente sin esperar la confirmación, haciéndose necesaria la numeración de los mismos para que puedan ser ensamblados en el orden correcto.
También puede ocurrir que la información del datagrama llegue con errores a su destino. Para poder detectar cuando sucede esto se incluye en la cabecera un campo de 16 bit, el cual contiene un valor calculado a partir de la información del datagrama completo (checksum). En el otro extremo el receptor vuelve a calcular este valor, comprobando que es el mismo que el suministrado en la cabecera. Si el valor es distinto significaría que el datagrama es incorrecto, ya que en la cabecera o en la parte de datos del mismo hay algún error.
La forma en que TCP numera los datagramas es contando los bytes de datos que contiene cada uno de ellos y añadiendo esta información al campo correspondiente de la cabecera del datagrama siguiente. De esta manera el primero empezará por cero, el segundo contendrá un número que será igual al tamaño en bytes de la parte de datos del datagrama anterior, el tercero con la suma de los dos anteriores, y así sucesivamente. Por ejemplo, para un tamaño fijo de 500 bytes de datos en cada datagrama, la numeración sería la siguiente: 0 para el primero, 500 para el segundo, 1000 para el tercero, etc.
Existe otro factor más a tener
en cuenta durante la transmisión de información, y es la
potencia y velocidad con que cada uno de los ordenadores puede procesar
los datos que le son enviados. Si esto no se tuviera en cuenta, el ordenador
de más potencia podría enviar la información demasiado
rápido al receptor, de manera que éste no pueda procesarla.
Este inconveniente se soluciona mediante un campo de 16 bit (Window)
en la cabecera TCP, en el cual se introduce un valor indicando la cantidad
de información que el receptor está preparado para procesar.
Si el valor llega a cero será necesario que el emisor se detenga.
A medida que la información es procesada este valor aumenta indicando
disponibilidad para continuar la recepción de datos.
Protocolos alternativos a TCP.
TCP es el protocolo más utilizado para el nivel de transporte en Internet, pero además de éste existen otros protocolos que pueden ser más convenientes en determinadas ocasiones. Tal es el caso de UDP y ICMP.
UDP (User Datagram Protocol)
Cuando se utiliza UDP la garantía de que un paquete llegue a su destino es mucho menor que con TCP debido a que no se utilizan las señales de confirmación. Por todas estas características la cabecera del UDP es bastante menor en tamaño que la de TCP. Esta simplificación resulta en una mayor eficiencia en determinadas ocasiones.
Un ejemplo típico de una situación en la que se utiliza el UDP es cuando se pretende conectar con un ordenador de la red, utilizando para ello el nombre del sistema. Este nombre tendrá que ser convertido a la dirección IP que le corresponde y, por tanto, tendrá que ser enviado a algún servidor que posea la base de datos necesaria para efectuar la conversión. En este caso es mucho más conveniente el uso de UDP.
Para mayor información consulte:
|
|
![]() |